'use strict';

/**
 * @description: 扁平树 -> tree data
 * @param origins 数据源
 * @param parentId 父级ID
 * @return 平铺数据
 */
function toTreeFlat(origin, parentId = "root") {
    // treeArr 变量数据
    // 第一次：查找所有parentId为的数据组成第一级
    const child = origin.filter((item) => item.parentId === parentId);
    // 第一次：循环parentId为数组
    return child.map((item) => {
        return {
            ...item,
            // 当前存在id（id与parentId应该是必须有的）调用initTree() 查找所有parentId为本id的数据
            children: toTreeFlat(origin, item.id),
        };
    });
}

exports.toTreeFlat = toTreeFlat;
